Open
Conversation
Author
|
Testing only - DO NOT MERGE |
Collaborator
Reorder mappers such that - on target entry: "from" mappers are handled at the end, where they only act as decayed alloc/storage mappers. - on target exit: "to" mappers are handled first so that they can act as decayed release/storage mappers and decrement the reference count. This avoids that map to+from or from+to result in different outcomes than mapping with a tofrom mapper. The previous behavior: - `target map(to: ptr[0:size]) map(from: ptr[0:size])`: the from-mapper was hindered from copying the data back to the host because it was handled first on target exit which means that the to-mapper hadn't been able to decrement the reference count first. - `target map(from: ptr[0:size]) map(to: ptr[0:size])`: the to-mapper was hindered from copying the data to the device because it was handled second on target entry which means that the reference count had already been incremented by the decayed alloc/storage operation of the from-mapper.
769b7fe to
44a91e8
Compare
Collaborator
Author
|
(smoke-limbo test failures would be fixed by ROCm/aomp#1601) |
Collaborator
|
llvm#153683 - is this one related? |
Author
|
Hard to tell, considering the huge amount of changes. I don't think so? Which part do you mean? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reorder mappers such that
This avoids that map to+from or from+to result in different outcomes than mapping with a tofrom mapper. The previous behavior:
target map(to: ptr[0:size]) map(from: ptr[0:size]): the from-mapper was hindered from copying the data back to the host because it was handled first on target exit which means that the to-mapper hadn't been able to decrement the reference count first.target map(from: ptr[0:size]) map(to: ptr[0:size]): the to-mapper was hindered from copying the data to the device because it was handled second on target entry which means that the reference count had already been incremented by the decayed alloc/storage operation of the from-mapper.